package com.ruoyi.system.hbos.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.system.hbos.domain.HbosDeptInput;
import com.ruoyi.system.hbos.tool.HbosDataUtils;


import java.util.ArrayList;
import java.util.List;

public class DemoMain {
    public static void main(String[] args) {

        // 示例代码，抽取部门信息，并进行处理

        // 查询参数设置
        HbosDeptInput hbosDeptInput = new HbosDeptInput();
        // 查询参数：服务范围（示例）
        List<String> serviceScopes = new ArrayList<>();
        serviceScopes.add("emergency");
        hbosDeptInput.setServiceScopes(serviceScopes);

        // 执行，抽取
        HbosDataUtils hbosDataUtils = new HbosDataUtils();
        JSONObject json = hbosDataUtils.getHbosDept(hbosDeptInput);

        // 整体日志（待补充，记录接口访问情况）
        // 整体日志（待补充，操作日志+文件日志）

        // 这里需要记录日志，记录推送过来的结果json

        // 解析处理
        // 首先判断是否抽取成功
        if(!(json == null || json.equals(""))) {
            // 企业微信返回的json中有UserId参数
            String code = String.valueOf(json.get("code"));
            if(!(code == null || code.equals("")))
                if(code.equals("200")){ // 判断是否返回正常
                    // 测试输出，后续删除
                    System.out.println(json);
                    // 下面开始取值（取值有各种类型，JSON、String、数组等，结合实际业务，不同方法进行取值）
                    JSONArray data_json_array = json.getJSONArray("data");
                    // 获取某个值(这里以“deptName”为例,正常应该循环遍历处理，我这里默认取第一个了)
                    JSONObject data_json_i =  data_json_array.getJSONObject(0);
                    System.out.println("deptName:" + data_json_i.get("deptName"));// 后续正常操作即可，我这里输出了，同样对应不同类型的，需要进行解析
                }else{
                    // 这里需要记录日志，待补充
                    System.out.println("请求错误，JSON返回结果：" + json);
                }

        }

    }
}
